package cn.cdnsu.gift.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Data
public class PageInfo<T>{
    //总条数
    private Integer total=0;
    //分页数据list
    private List<T> dataList=new ArrayList<>();

    //聚合查询时，不仅要返回他们两个，还需要类型id和名字，店铺id和名字
    //如何将聚合分组结果返回前端：
    //1.定义对象返回，不通用，以后需要其他信息的话

//    private List<IdName> typeGroup;
//    private List<IdName> shopGroup;
    //2.list接收,所以套2层
//    private List<List<IdName>> idNames;

    //3.map -->private Map<String,List<IdName>> data;
    //改造，既可以返回分组信息，其他信息也能返回
    private Map<String,Object> data;

    //添加了新的以后重写构造方法


    public PageInfo() {
    }

    public PageInfo(Integer total, List<T> dataList, Map<String, Object> data) {
        this.total = total;
        this.dataList = dataList;
        this.data = data;
    }

    public PageInfo(Integer total, List<T> dataList) {
        this.total = total;
        this.dataList = dataList;
    }
}
